package com.bigknow.appstore.web.base.service;

import com.bigknow.appstore.web.base.entity.AuditLog;
import com.bigknow.appstore.web.framework.entity.IEntity;
import com.bigknow.appstore.web.framework.service.ICRUDService;

import java.util.List;

public interface IAuditLogService extends ICRUDService<AuditLog> {

    /**
     * @param id                   实体的ID值
     * @param name                 实体的name值
     * @param operationContentPart 操作内容部分。最终会组织成operationType +  operationContentPart + name内容。
     * @param operationClass       操作类
     * @param operationType        操作类型
     */
    void add(String id, String name, String operationContentPart, Class operationClass, AuditLog.OperationType operationType);

    void addByEntity(IEntity entity, Class operationClass, AuditLog.OperationType operationType);

    List<AuditLog> findByDateRange(String start, String end);
}
